What are the different types of functions in discrete mathematics